package com.xinghai.system.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xinghai.common.annotation.Excel;
import com.xinghai.common.core.domain.BaseEntity;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 用车订单对象 xh_vehicle_order_info
 * 
 * @author xinghai
 * @date 2024-07-23
 */
@Data
public class XhVehicleOrderInfoDTO extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 用车任务 */
    @Excel(name = "用车任务")
    private Long vehicleId;

    /** 用车任务名称 */
    @Excel(name = "用车任务")
    private String vehicleName;

    /** 物流公司 */
    private Long deptId;

    /** 物流公司 */
    @Excel(name = "物流公司")
    private String deptName;

    /** 车辆 */
    private Long carId;

    /** 车辆 */
    @Excel(name = "车牌号")
    private String carNo;

    /** 司机 */
    private String driverId;

    /** 司机 */
    @Excel(name = "司机")
    private String driverName;

    /** 状态;状态（0待接收 1待审批 2进行中 3已完成） */
    @Excel(name = "状态", readConverterExp = "0=待接收,1=待审批,2=进行中,3=已完成")
    private String status;

    /** 节点类型;字典-point_type */
    @Excel(name = "节点类型",dictType = "point_type")
    private String pointType;

    /** 接收时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "接收时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date acceptTime;

    /** 接收人 */
    @Excel(name = "接收人")
    private String acceptBy;

    /** 流程id */
    @Excel(name = "流程id")
    private String processInstanceId;

    /** 实例状态变更类型 start：审批实例开始；finish：审批正常结束（同意或拒绝）；terminate：审批终止（发起人撤销审批单）；delete：审批实例删除;cancel：退回 */
    @Excel(name = "实例状态变更类型",readConverterExp = "start=审批实例开始,finish=审批正常结束,terminate=审批终止,delete=审批实例删除,cancel=退回")
    private String applyType;

    @Excel(name = "指派类型",dictType = "assign_type")
    private String assignType;

    /** 接收时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 始发地*/
    private String beginAddr;

    /** 目的地*/
    private String endAddr;

    /** 发货日期*/
    private String deliverDate;

    /** 到货日期*/
    private String needGiveDate;

    /** 公里数*/
    private BigDecimal kilometre;

    /** 装载率*/
    private BigDecimal estimateLoadRate;

    /** 需求车型*/
    private String needVehicle;

    /** 退回原因*/
    @Excel(name = "退回原因")
    private String remark;

}
